export function deepClone(obj) {
  // 检查输入是否为对象类型
  if (typeof obj !== "object" || obj === null) {
    return obj;
  }

  // 创建新的对象或数组
  let clone;
  if (Array.isArray(obj)) {
    clone = [];
  } else {
    clone = {};
  }

  // 遍历对象/数组的每个属性/元素并递归克隆
  // for in深拷贝
  for (let key in obj) {
    if (obj.hasOwnProperty(key)) {
      clone[key] = deepClone(obj[key]);
    }
  }

  // for of深拷贝
  for (const values of Object.entries(obj)) {
    if (obj.hasOwnProperty(values[0])) {
      clone[values[0]] = deepClone(values[1]);
    }
  }

  return clone;
}
